//方法一：排升序，取最后两位数字
int cmp(const void* pa, const void* pb){
    return (*(int*)pa - *(int*)pb);
}
int maxProduct(int* nums, int numsSize) {
    qsort(nums, numsSize,sizeof(int), cmp);
    return (nums[numsSize - 1] - 1) * (nums[numsSize - 2] - 1);
}

//方法二：遍历数组，筛选出最大值和次大值
int maxProduct(int* nums, int numsSize) {
    int max1 = nums[1], max2 = nums[0];
    if(max1 < max2){
        int tmp = max1;
        max1 = max2;
        max2 = tmp;
    }
    for(int i = 2; i < numsSize; i++){
        if(nums[i] > max1){
            max2 = max1;
            max1 = nums[i];
        }
        else if(nums[i] > max2)
            max2 = nums[i];
    }
    return (max1 - 1) * (max2 - 1);
}

/*给你一个整数数组 nums，请你选择数组的两个不同下标 i 和 j，使 (nums[i]-1)*(nums[j]-1) 取得最大值。

请你计算并返回该式的最大值。*/